Correlates the elements of two views based on equality of keys and groups the results.

Namespace:  C1.LiveLinq.LiveViews
Assembly:  C1.LiveLinq (in C1.LiveLinq.dll)

Syntax

C#
public View<TResult> GroupJoin<TInner, TKey, TResult>(
	IObservableSource<TInner> inner,
	Expression<Func<T, TKey>> outerKeySelector,
	Expression<Func<TInner, TKey>> innerKeySelector,
	Expression<Func<T, GroupView<TKey, TInner>, TResult>> resultSelector
)
Visual Basic
Public Function GroupJoin(Of TInner, TKey, TResult) ( _
	inner As IObservableSource(Of TInner), _
	outerKeySelector As Expression(Of Func(Of T, TKey)), _
	innerKeySelector As Expression(Of Func(Of TInner, TKey)), _
	resultSelector As Expression(Of Func(Of T, GroupView(Of TKey, TInner), TResult)) _
) As View(Of TResult)

Parameters

inner
Type: C1.LiveLinq..::..IObservableSource<(Of <(<'TInner>)>)>
The collection (usually, a view) to join to this view.
outerKeySelector
Type: System.Linq.Expressions..::..Expression<(Of <(<'Func<(Of <(<'T, TKey>)>)>>)>)>
A function to extract the join key from each element of this view.
innerKeySelector
Type: System.Linq.Expressions..::..Expression<(Of <(<'Func<(Of <(<'TInner, TKey>)>)>>)>)>
A function to extract the join key from each element of the second view.
resultSelector
Type: System.Linq.Expressions..::..Expression<(Of <(<'Func<(Of <(<'T, GroupView<(Of <(<'TKey, TInner>)>)>, TResult>)>)>>)>)>
A function to create a result view from an element from this view and a collection of matching elements from the second view.

Type Parameters

TInner
The type of the elements of the view to join with this view.
TKey
The type of the keys returned by the key selector functions.
TResult
The type of the result elements.

Return Value

A view containing elements of type TResult that are obtained by performing a grouped join on two views.

See Also